from mqRPC import get_rpc_server
import time

# 使用mqRCP构建服务端
server = get_rpc_server("mqRPC_queue", False, 30000)  # 30s的超时时间

# 设置当前暴露的RPC过程的包含类
server.set_current_parent_class("CurrentClass")

# 定义加减乘除四个RPC远程过程


@server.register()
def add(a, b):
    return a + b


@server.register()
def minus(x, y):
    return x - y


@server.register()
def multi(x, y):
    return x*y


@server.register()
def div(x, y):
    return x/y


# 测试别名
@server.register(point="test_alias")
def test_alias__():
    return "alias ok"


class InClass:
    @staticmethod
    @server.register(in_class=True)
    def add(a, b):
        return a + b

    @staticmethod
    @server.register(in_class=True)
    def minus(x, y):
        return x - y

    @staticmethod
    @server.register(in_class=True)
    def multi(x, y):
        return x * y

    @staticmethod
    @server.register(in_class=True)
    def div(x, y):
        return x / y


# 自动生成对应的客户端
# server.generate_client("TestTimeout")
if __name__ == "__main__":
    server.start()
